home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Freeware / PerfectPaint / rexx / box / CreatePlanete.rx < prev    next >
Encoding:
Text File  |  2002-03-13  |  2.1 KB  |  102 lines

  1. /*
  2. CreatePlanet.rx V0.9ss
  3. Creates a Planet for PfPaint Arexx Box
  4. By Markus Castro 
  5. */
  6.  
  7.   Options results
  8.   parse ARG Port x1 y1 x2 y2 b
  9.   ADDRESS value Port
  10.  
  11.   Mesh=6
  12.   hour=12
  13.   tilt=1
  14.   Path='PerfectPaint:tools/'
  15.  
  16.   IF exists('PerfectPaint:Prefs/Rexx_Prefs/Create_Planet') THEN DO
  17.     IF OPEN('lfile','PerfectPaint:Prefs/Rexx_Prefs/Create_Planet', "R") then DO
  18.       Mesh = READLN('lfile')
  19.       Hour=READLN('lfile')
  20.       Tilt=READLN('lfile')
  21.       Path=READLN('lfile')
  22.       CALL CLOSE('lfile')
  23.     END
  24.   END
  25.  
  26.     IF Path="" then DO
  27.         Path='PerfectPaint:tools/'
  28.     END
  29.  
  30.   address value port
  31.   pp_AvoidRefresh
  32.   width=(x2-x1)+1
  33.   height=(y2-y1)+1
  34.   mx=x1+(width/2)
  35.   my=y1+(height/2)
  36.   pp_GetCurrentBrush
  37.   Alt=result
  38.  
  39.   pp_DialogInit 220 140 "*Create*Planet*" 5
  40.     pp_Slider 0 65  8 100 16 "Quality" 0 0 5 Mesh
  41.     pp_Slider 1 65  26 100 16 "Hour" 0 0 24 hour
  42.     pp_Slider 2 65  44 100 16 "°*Tilt" 0 0 90 tilt
  43.     pp_String 3 8 85 177 16 "PPMforge*Path" 4 100 Path
  44.     pp_Getfile 4 188 86 3 "Select*Path" 1 Path
  45.   pp_Dialog
  46.  
  47.   rc=result
  48.   IF rc=0 then DO
  49.     pp_permitrefresh
  50.     EXIT
  51.   END    
  52.  
  53.   pp_GetDialog 0
  54.   Mesh=result
  55.   Mesh2=16*(2**mesh)
  56.  
  57.   pp_GetDialog 1
  58.   Hour=result
  59.  
  60.   pp_GetDialog 2
  61.   Tilt=result
  62.  
  63.   pp_GetDialog 3
  64.   Path=result
  65.  
  66.   pp_asay 'Making*PNM*Planet|Please*wait*...'
  67.   ADDRESS COMMAND path||"ppmforge -hour " || hour || " -tilt " || tilt || " -mesh " || Mesh2 || "x" || mesh2 || " -width " || width || " -height " || height || " >t:PfPaint.Planet"
  68.   pp_closeasay
  69.   pp_FindEmptyBrush
  70.   Brush=result
  71.   IF Brush=-1 then DO
  72.     pp_Warn "can't*find*empty|Brush."
  73.     EXIT        
  74.   END
  75.  
  76.   pp_setbrush brush
  77.   pp_Bload 't:PfPaint.Planet'
  78.   pp_UpdateUndoBox x1-1 y1-1 x2+1 y2+1
  79.   pp_Plot mx my
  80.   pp_freebrush
  81.   pp_SetBrush alt
  82.  
  83.   SavePrefs('Create_Planet',Mesh,Hour,Tilt,Path)
  84.   ADDRESS COMMAND "delete t:PfPaint.Planet"
  85.   pp_permitrefresh
  86.  
  87. EXIT
  88.  
  89.   SavePrefs: PROCEDURE    
  90.     Prefname='PerfectPaint:Prefs/Rexx_Prefs/'||ARG(1)
  91.     IF EXISTS(Prefname) THEN DO
  92.       ADDRESS COMMAND
  93.       'delete >nil: '||Prefname
  94.     END
  95.  
  96.     IF OPEN('pfile',PrefName,'W') THEN DO
  97.     DO i=2 to ARG()
  98.       CALL WRITELN('pfile',ARG(i))
  99.     END
  100.     CALL CLOSE('pfile')
  101.   RETURN 0
  102.